<html>

<head>
<meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<title>API da Linguagem Imperativa 2 com Monitor</title>
<link href="styleMain.css" rel="stylesheet" type="text/css">
</head>

<body>
<p class="titulo">Rendezvous em IMP2</p>

<p class="secao">API da Linguagem Imperativa 2 com Monitor</p>
<TABLE width=600 BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD width=600>
<UL><UL>
<FONT FACE="arial" SIZE=-1>
  <p class=MsoNormal style='margin-left:9.0pt'><span style='font-size:10.0pt;
  font-family:Arial'><a href="./docs/plp/imperative1/Programa.html">Programa</a> ::= <a
  href="./docs/plp/imperative1/command/Comando.html">Comando</a> </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>Comando
  ::= <a href="./docs/plp/imperative1/command/Atribuicao.html">Atribuicao</a> </span></p>
  <p class=MsoNormal style='margin-left:9.0pt;text-indent:54.0pt'><span
  style='font-size:10.0pt;font-family:Arial'>| <a
  href="./docs/plp/imperative1/command/ComandoDeclaracao.html">ComandoDeclaracao</a> </span></p>
  <p class=MsoNormal style='margin-left:9.0pt;text-indent:54.0pt'><span
  style='font-size:10.0pt;font-family:Arial'>| <a
  href="./docs/plp/imperative1/command/ComandoDeclaracaoLock.html">ComandoDeclaracaoLock</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:54.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/imperative1/command/While.htmla">While</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:54.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/imperative1/command/IfThenElse.html">IfThenElse</a>
  </span></p>
  <p style='margin-left:9.0pt;text-indent:54.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/imperative1/command/IO.html">IO</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:54.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/imperative1/command/SequenciaComando.html">Comando
  &quot;;&quot; Comando</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:54.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/imperative1/command/Skip.html">Skip </a></span></p>
  <p style='margin-left:9.0pt;text-indent:54.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <span><a
  href="./docs/plp/imperative1/command/Paralelismo.html" color="#FFFFFF"><span
  >"{" Comando &quot;par&quot; Comando "}"</span></a></span> </span></p>
  <p style='margin-left:9.0pt;text-indent:54.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <span><a
  href="./docs/plp/imperative1/command/PrimitivaConcorrente.html" color="#FFFFFF"><span
  >PrimitivaConcorrente</span></a></span> </span></p>
  <p class=MsoNormal style='margin-left:9.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>Skip ::= </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>Atribuicao
  ::= <a href="./docs/plp/expressions2/expression/Id.html">Id</a> &quot;:=&quot; <a
  href="./docs/plp/expressions2/expression/Expressao.html">Expressao</a> </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>Expressao
  ::= <a href="./docs/plp/expressions2/expression/Valor.html">Valor</a> | <a
  href="./docs/plp/expressions2/expression/ExpUnaria.html">ExpUnaria</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpBinaria.html">ExpBinaria</a>
  | Id </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>Valor
  ::=<a href="./docs/plp/expressions2/expression/ValorConcreto.html">ValorConcreto</a> </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>ValorConcreto
  ::= <a href="./docs/plp/expressions2/expression/ValorInteiro.html">ValorInteiro</a> | <a
  href="./docs/plp/expressions2/expression/ValorBooleano.html">ValorBooleano</a> | <a
  href="./docs/plp/expressions2/expression/ValorString.html">ValorString</a> </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>ExpUnaria
  ::= <a href="./docs/plp/expressions2/expression/ExpMenos.html">&quot;-&quot; Expressao</a>
  | <a href="./docs/plp/expressions2/expression/ExpNot.html">&quot;not&quot; Expressao</a>
  | <a href="./docs/plp/expressions2/expression/ExpLength.html">&quot;length&quot;
  Expressao</a> </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>ExpBinaria
  ::= <a href="./docs/plp/expressions2/expression/ExpSoma.html">Expressao &quot;+&quot;
  Expressao</a> </span></p>
  <p class=MsoNormal style='margin-left:9.0pt;text-indent:63.0pt'><span
  style='font-size:10.0pt;font-family:Arial'>| <a
  href="./docs/plp/expressions2/expression/ExpSub.html">Expressao &quot;-&quot; Expressao</a>
  </span></p>
  <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpAnd.html">Expressao
  &quot;and&quot; Expressao</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpOr.html">Expressao
  &quot;or&quot; Expressao</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpEquals.html">Expressao
  &quot;==&quot; Expressao</a> </span></p>
  <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpConcat.html">Expressao
  &quot;++&quot; Expressao</a> </span></p>
    <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
    font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpLessThan.html">Expressao
    &quot;< &quot; Expressao</a> </span></p>
    <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
    font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpLessEqual.html">Expressao
    &quot;<= &quot; Expressao</a> </span></p>
    <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
    font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpGreaterEqual.html">Expressao
    &quot;> &quot; Expressao</a> </span></p>
    <p style='margin-left:9.0pt;text-indent:63.0pt'><span style='font-size:10.0pt;
    font-family:Arial'>| <a href="./docs/plp/expressions2/expression/ExpGreaterEqual.html">Expressao
    &quot;>= &quot; Expressao</a> </span></p>


  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>PrimitivaConcorrente
    ::= <a href="./docs/plp/imperative1/command/PrimitivaConcorrenteWait.html"> "wait" "(" id ")"</a> </span>
    <span style='font-size:10.0pt;font-family:Arial'>| <a
    href="./docs/plp/imperative1/command/PrimitivaConcorrenteNotify.html">"notify" "(" id ")"</a> </span></p>
  <p class=MsoNormal style='margin-left:9.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>ComandoDeclaracao :: = &quot;{&quot; <a
  href="./docs/plp/imperative1/declaration/DeclaracaoVariavel.html">DeclaracaoVariavel</a>
  &quot;;&quot; Comando &quot;}&quot; </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>DeclaracaoVariavel
  ::= <a href="./docs/plp/imperative1/declaration/DeclaracaoVariavelSimples.html">&quot;var&quot;
  Id &quot;=&quot; Expressao</a> | <a
  href="./docs/plp/imperative1/declaration/DeclaracaoVariavelComposta.html">DeclaracaoVariavel
  &quot;,&quot; DeclaracaoVariavel </a></span></p>
  <p class=MsoNormal style='margin-left:9.0pt'><span style='font-size:10.0pt;
  font-family:Arial'>ComandoDeclaracaoLock :: = &quot;{&quot; <a
  href="./docs/plp/imperative1/declaration/DeclaracaoLock.html">DeclaracaoLock</a>
  &quot;;&quot; Comando &quot;}&quot; </span></p>
  <p style='margin-left:9.0pt'><span style='font-size:10.0pt;font-family:Arial'>DeclaracaoLock
  ::=  <span><a
  href="./docs/plp/imperative1/declaration/DeclaracaoPrimitivaLock.html"><span
  >&quot;lock&quot; id</span></a></span> | <a
  href="./docs/plp/imperative1/declaration/DeclaracaoCompostaLock.html">DeclaracaoLock
  &quot;,&quot; DeclaracaoLock </a></span></p>
  <p style='margin-left:9.0pt'><span lang=EN-US style='font-size:10.0pt;
  font-family:Arial;mso-ansi-language:EN-US'>While ::= &quot;while&quot;
  Expressao &quot;do&quot; Comando </span><span lang=EN-US style='mso-ansi-language:
  EN-US'><o:p></o:p></span></p>
  <p style='margin-left:9.0pt'><span lang=EN-US style='font-size:10.0pt;
  font-family:Arial;mso-ansi-language:EN-US'>IfThenElse ::= &quot;if&quot;
  Expressao &quot;then&quot; Comando &quot;else&quot; Comando </span><span
  lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
  <p style='margin-left:9.0pt'><span lang=EN-US style='font-size:10.0pt;
  font-family:Arial;mso-ansi-language:EN-US'>IO ::= </span><span
  style='font-size:10.0pt;font-family:Arial'><a
  href="./docs/plp/imperative1/command/Write.html"><span lang=EN-US style='mso-ansi-language:
  EN-US'>&quot;write&quot; &quot;(&quot; Expressao &quot;)&quot; </span></a></span><span
  lang=EN-US style='font-size:10.0pt;font-family:Arial;mso-ansi-language:EN-US'>|
  </span><span style='font-size:10.0pt;font-family:Arial'><a
  href="./docs/plp/imperative1/command/Read.html"><span lang=EN-US style='mso-ansi-language:
  EN-US'>&quot;read&quot; &quot;(&quot; Id &quot;)&quot; </span></a></span><span
  lang=EN-US style='mso-ansi-language:EN-US'><o:p></o:p></span></p>
  </td>
 </tr>
</table>

<p class="secao">Classes Auxiliares</p>
<TABLE width=500 BORDER="0" CELLPADDING="0" CELLSPACING="0">
<TR>
<TD width=500>
<UL><UL>
<FONT FACE="arial" SIZE=-1>
<A
HREF="./docs/plp/imperative1/memory/AmbienteCompilacaoImperativa.html">AmbienteCompilacaoImperativa</A><P>
<A
HREF="./docs/plp/imperative1/memory/AmbienteExecucaoImperativa.html">AmbienteExecucaoImperativa</A><P>
<A
HREF="./docs/plp/imperative1/memory/ContextoCompilacaoImperativa.html">ContextoCompilacaoImperativa</A><P>
<A
HREF="./docs/plp/imperative1/memory/ContextoExecucaoImperativa.html">ContextoExecucaoImperativa</A><P>
<A
HREF="./docs/plp/imperative1/memory/EntradaVaziaException.html">EntradaVaziaException</A><P>
<A
HREF="./docs/plp/imperative1/memory/ListaValor.html">ListaValor</A><P>
<A
HREF="./docs/plp/imperative1/memory/AmbienteExecucaoConcorrente.html">AmbienteExecucaoConcorrente</A><P>
<A
HREF="./docs/plp/imperative1/memory/ContextoExecucaoConcorrente.html">ContextoExecucaoConcorrente</A><P>
</UL></UL>
</FONT>
</TD>
</TR>
</TABLE>

</body>
</html>
